/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cube.estructura.per;

import cube.estructura.obj.Canchero;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Leonardo
 */
public class CancheroPer
{  
   public static Canchero obtenerCanchero(Connection con, long xIdCanchero, long xIdClubDeportivo) throws Exception
   {
        Canchero objCanchero = new Canchero();

        try
        {
            PreparedStatement st=con.prepareStatement("select * " +
                                                       "from CANCHERO "+
                                                         "where ID_CANCHERO=? and "+
                                                         "ID_CLUB_DEPORTIVO=? ");
            st.setLong(1, xIdCanchero);
            st.setLong(2, xIdClubDeportivo);

            ResultSet resultado = st.executeQuery();

            if(resultado.next())
            {
                objCanchero.setIdCanchero(resultado.getLong("ID_CANCHERO"));
                objCanchero.setIdClubDeportivo(resultado.getLong("ID_CLUB_DEPORTIVO"));
                objCanchero.setNombres(resultado.getString("NOMBRES"));
                objCanchero.setApellidos(resultado.getString("APELLIDOS"));
                objCanchero.setEmail(resultado.getString("EMAIL"));
                objCanchero.setTelefono(resultado.getString("TELEFONO"));
                objCanchero.setPassword(resultado.getString("PASSWORD"));
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return objCanchero;
   }

   public static boolean existeCanchero(Connection con, long xIdCanchero, long xIdClubDeportivo) throws Exception
   {
        try
        {
            PreparedStatement st=con.prepareStatement("select count(*) as EXISTE " +
                                                      "from CANCHERO " +
                                                         "where ID_CANCHERO=? and "+
                                                         "ID_CLUB_DEPORTIVO=? ");

            st.setLong(1, xIdCanchero);
            st.setLong(2, xIdClubDeportivo);

            ResultSet resultado = st.executeQuery();

            if (resultado.next())
            {
                if (resultado.getInt("EXISTE")==0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return false;
   }

   public static ArrayList<Canchero> obtenerColeccionCanchero(Connection con) throws Exception
   {
        ArrayList colCanchero = new ArrayList();

        try
        {
            PreparedStatement st=con.prepareStatement("select * " +
                                                      "from CANCHERO");

            ResultSet resultado = st.executeQuery();

            while (resultado.next())
            {
                Canchero objCanchero = new Canchero();

                objCanchero.setIdCanchero(resultado.getLong("ID_CANCHERO"));
                objCanchero.setIdClubDeportivo(resultado.getLong("ID_CLUB_DEPORTIVO"));
                objCanchero.setNombres(resultado.getString("NOMBRES"));
                objCanchero.setApellidos(resultado.getString("APELLIDOS"));
                objCanchero.setEmail(resultado.getString("EMAIL"));
                objCanchero.setTelefono(resultado.getString("TELEFONO"));
                objCanchero.setPassword(resultado.getString("PASSWORD"));

                colCanchero.add(objCanchero);
            }
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
        return colCanchero;
    }

    public static void altaCanchero(Connection con, Canchero xObjCanchero) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("insert into CANCHERO " +
                                                      "values (?,?,?,?,?,?,?)");

            st.setLong(1, xObjCanchero.getIdCanchero());
            st.setLong(2, xObjCanchero.getIdClubDeportivo());
            st.setString(3, xObjCanchero.getNombres());
            st.setString(4, xObjCanchero.getApellidos());
            st.setString(5, xObjCanchero.getEmail());
            st.setString(6, xObjCanchero.getTelefono());
            st.setString(7, xObjCanchero.getPassword());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }

    public static void bajaCanchero(Connection con, Canchero xObjCanchero) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("delete from CANCHERO " +
                                                         "where ID_CANCHERO=? and "+
                                                         "ID_CLUB_DEPORTIVO=? ");

            st.setLong(1, xObjCanchero.getIdCanchero());
            st.setLong(2, xObjCanchero.getIdClubDeportivo());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }

    public static void modificaCanchero(Connection con, Canchero xObjCanchero) throws Exception
    {
        try
        {
            PreparedStatement st=con.prepareStatement("update CANCHERO " +
                                                      "set NOMBRES=?, "+
                                                      "APELLIDOS=?, "+
                                                      "EMAIL=?, "+
                                                      "TELEFONO=?, "+
                                                      "PASSWORD=? "+
                                                         "where ID_CANCHERO=? and "+
                                                         "ID_CLUB_DEPORTIVO=? ");

            st.setString(1, xObjCanchero.getNombres());
            st.setString(2, xObjCanchero.getApellidos());
            st.setString(3, xObjCanchero.getEmail());
            st.setString(4, xObjCanchero.getTelefono());
            st.setString(5, xObjCanchero.getPassword());
            st.setLong(6, xObjCanchero.getIdCanchero());
            st.setLong(7, xObjCanchero.getIdClubDeportivo());

            st.executeUpdate();
        }
        catch (SQLException ex)
        {
            throw new Exception("Persistencia--> " + ex.getMessage());
        }
    }
}
